Zruseni podadresaru

Otázka od: Stráník František Ing.

13. 11. 2002 19:51

Pratele,
znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem adresari ?

Diky za informaci

zdraví
František STRÁNÍK

Odpovedá: Ján Harman

13. 11. 2002 20:18

toto pouzivam s uspechem. Vymaze vse co v adresari je a ev. i samotny
adresar. Neni to moje, mam to tady z konference. Honza.

Procedure KillDirectory(Directory: String; Remove: Boolean);
{ Vymaze obsah adresare vcetne podadresaru. Pokud Remove=true, zrusi i
adresar Directory }
const
  AnyFileButDir = faAnyFile and (not faDirectory) and (not faVolumeID);

  procedure KillSubDirs(Const baseDir: String); // Base dir ma backslash
  var SavedDir : String;
      Srec : tSearchRec;
      aDosError: Integer;
  begin
    aDosError := FindFirst(BaseDir+'*.*',faDirectory,Srec);
    Try
      While aDosError = 0 do begin
        if ((Srec.Attr and faDirectory) <> 0) and
          (Srec.name <> '.') and
          (Srec.name <> '..') then begin
          SavedDir := BaseDir+Srec.name;
          KillSubDirs(SavedDir+'\');
          RmDir(SavedDir);
        end;
        aDosError := FindNext(Srec);
      end;
    Finally
      SysUtils.FindClose(Srec);
    End;
    aDosError := FindFirst(BaseDir+'*.*',AnyFileButDir,Srec);
    if aDosError = 0 then
    Try
      While aDosError = 0 do begin
        SavedDir := BaseDir+Srec.name;
        DeleteFile(PChar(SavedDir));
        aDosError := FindNext(Srec);
      end;
    Finally
      SysUtils.FindClose(Srec);
    End;
  end;

begin
  KillSubDirs(Directory+'\');
  if Remove then RmDir(Directory);
end;




Pratele,
znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem adresari
?

Diky za informaci

zdraví
František STRÁNÍK


Odpovedá: Petr Vones

17. 11. 2002 15:16

From: "Stráník František Ing." <FStranik@cpoj.cz>
> znate nejakou vhodnou funkci pro zruseni vsech podadresaru v danem
> adresari ?

Napriklad DelTree (JclFileUtils) z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195
http://delphi-jedi.org/CODELIBJCL

Petr Vones